/*
 * 描述： <描述>
 * 修改人： rain
 * 修改时间： 2016年9月30日
 * 项目： rainhy-auth
 */
package com.rainhy.auth.adminchecker;

import org.apache.commons.lang3.StringUtils;

import com.rainhy.auth.context.AdminChecker;

/**
 * 超级管理员检查器简单实现<br>
 * 第一步进行权限引用是否存在的判断.如果不存在,直接判断权限引用 id, 如果存在,则优先判断权限引用类型
 * 
 * @author rain
 * @version [版本号, 2016年9月30日]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public class SimpleAdminChecker implements AdminChecker {
    
    /** 管理员权限引用类型 */
    private String adminAuthRefType;
    
    /** 管理员权限引用id */
    private String adminAuthRefId;
    
    @Override
    public boolean isSuperAdmin(String authRefType, String authRefId) {
        if (StringUtils.isNotBlank(adminAuthRefType) && !StringUtils.equals(adminAuthRefType, authRefType)) {
            return false;
        }
        return StringUtils.isNotBlank(adminAuthRefId) && StringUtils.equals(adminAuthRefId, authRefId);
    }
    
    /** 管理员权限引用类型 */
    public String getAdminAuthRefType() {
        return adminAuthRefType;
    }
    
    /** 管理员权限引用类型 */
    public void setAdminAuthRefType(String adminAuthRefType) {
        this.adminAuthRefType = adminAuthRefType;
    }
    
    /** 管理员权限引用id */
    public String getAdminAuthRefId() {
        return adminAuthRefId;
    }
    
    /** 管理员权限引用id */
    public void setAdminAuthRefId(String adminAuthRefId) {
        this.adminAuthRefId = adminAuthRefId;
    }
    
}
